<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>el与data的两种写法</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <!-- 
        data与el的2种写法
            1. el有2种写法
                （1）new Vue时配置el属性。
                （2）先创建Vue实例，随后再通过vm.$mount('#root')指定el的值。
            2. data有2种写法
                （1）对象式
                （2）函数式
                如何选择：目前哪种写法都可以，以后学习到组件时，data必须使用函数式，否则会报错。
            3. 一个重要的原则：
                由Vue管理的函数，一定不要写箭头函数，一旦写了箭头函数，this就不再是Vue实例了。
     -->

    <!-- 准备好一个容器 -->
    <div id="root">
        <h1>你好，{{name}}</h1>
    </div>
</body>
    <script type="text/javascript">
        Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

        // el的两种写法
        /* const v = new Vue({
            // el:'#root', //第一种写法
            data:{
                name:'尚硅谷'
            }
        })
        console.log(v)
        v.$mount('#root') //第二种写法

        //第二种写法比较灵活，可以进行一些操作，例如：
        // setTimeout(()=>{
        //     v.$mount('#root')
        // },1000)  */

        // data的两种写法
        new Vue({
            el:'#root',
            // data的第一种写法：对象式
            /* data:{
                name:'尚硅谷'
            } */

            // data的第二种写法：函数式
            data(){
                console.log('****',this) // 此处的this是Vue实例对象
                return{
                    name:'尚硅谷'
                }
            }
        })
    </script>
</html>